//
//  TFStatusOriginalView.swift
//  weiboSina
//
//  Created by admin on 16/1/2.
//  Copyright © 2016年 admin. All rights reserved.
//

import UIKit
import SnapKit
class TFStatusOriginalView: UIView {

    // 记录当前控件的底部约束
    var bottomConstraint: Constraint?
    //加载模型数据
    var statusViewModel: TFStatusViewModel? {
    
        didSet{
        
        //设置数据
            nameLabel.text = statusViewModel?.status?.user?.screen_name
            /**
            设置头像
            */
            if let urlString = statusViewModel?.status?.user?.profile_image_url{
            
            iconView.sd_setImageWithURL(NSURL(string: urlString), placeholderImage: UIImage(named: "avatar_default_small"))
                
            }
            //设置会员的认证图像
            memberView.image = statusViewModel?.memberImage
            verifiedView.image = statusViewModel?.verifiedImage
            
            //设置微博的内容
            contentLabel.text = statusViewModel?.status?.text
            //TODO:时间与来源
            timeLabel.text = statusViewModel?.creatText
            sourceLabel.text = statusViewModel?.sourceText
//            print("时间----\(statusViewModel?.status?.created_at)")
//             print("来源----\(statusViewModel?.status?.source)")
            
            self.bottomConstraint?.uninstall()
            
            if let picUrls = statusViewModel?.status?.pic_urls where picUrls.count > 0 {
                statusPictureView.hidden = false
                // 设置数据
                statusPictureView.picUrls = picUrls
                
                self.snp_updateConstraints(closure: { (make) -> Void in
                    self.bottomConstraint = make.bottom.equalTo(statusPictureView).offset(TFStatusCellMargin).constraint
                })
            }else{
                // 没有图片就隐藏
                statusPictureView.hidden = true
                self.snp_updateConstraints(closure: { (make) -> Void in
                    self.bottomConstraint = make.bottom.equalTo(contentLabel).offset(TFStatusCellMargin).constraint
                })
            }

            
            
        }
    
    }
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        setupUI()

    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    //设置视图内容
   private func setupUI(){
    
    backgroundColor = UIColor.whiteColor()
    
        // 添加控件
        addSubview(iconView)
        addSubview(nameLabel)
        addSubview(timeLabel)
        addSubview(sourceLabel)
        addSubview(memberView)
        addSubview(verifiedView)
        addSubview(contentLabel)
         addSubview(statusPictureView)
        // 添加约束
        iconView.snp_makeConstraints { (make) -> Void in
            make.leading.equalTo(self).offset(TFStatusCellMargin)
            make.top.equalTo(self).offset(TFStatusCellMargin)
            make.size.equalTo(CGSizeMake(TFStatusCellIconViewWH, TFStatusCellIconViewWH))
        }
        
        verifiedView.snp_makeConstraints { (make) -> Void in
            make.centerX.equalTo(iconView.snp_trailing).offset(-3)
            make.centerY.equalTo(iconView.snp_bottom).offset(-3)
        }
        
        // 名字
        nameLabel.snp_makeConstraints { (make) -> Void in
            make.leading.equalTo(iconView.snp_trailing).offset(TFStatusCellMargin)
            make.top.equalTo(iconView)
        }
        
        // 会员
        memberView.snp_makeConstraints { (make) -> Void in
            make.leading.equalTo(nameLabel.snp_trailing).offset(TFStatusCellMargin)
            make.centerY.equalTo(nameLabel)
        }
        
        // 时间
        timeLabel.snp_makeConstraints { (make) -> Void in
            make.leading.equalTo(nameLabel)
            make.bottom.equalTo(iconView)
        }
        
        // 来源
        sourceLabel.snp_makeConstraints { (make) -> Void in
            make.leading.equalTo(timeLabel.snp_trailing).offset(TFStatusCellMargin)
            make.top.equalTo(timeLabel)
        }
        /**
        内容的约束
        */
        contentLabel.snp_makeConstraints { (make) -> Void in
            
            make.leading.equalTo(iconView)
            make.top.equalTo(iconView.snp_bottom).offset(TFStatusCellMargin)
            //约束宽度
            make.width.lessThanOrEqualTo(self.snp_width).offset(-TFStatusCellMargin*2)
        }
    
    
    // 配图视图
    statusPictureView.snp_makeConstraints { (make) -> Void in
        make.top.equalTo(contentLabel.snp_bottom).offset(TFStatusCellMargin)
        make.leading.equalTo(contentLabel)
    }
    
    self.snp_makeConstraints { (make) -> Void in
        bottomConstraint = make.bottom.equalTo(statusPictureView).offset(TFStatusCellMargin).constraint
    }
  }
    
    // MARK: - 懒加载控件
    /**
    头像
    */
    private  lazy var iconView: UIImageView = UIImageView(image: UIImage(named: "avatar_default_small"))
    /**
     昵称
     */
    private lazy var nameLabel:UILabel = UILabel(textColor: UIColor.blackColor(), textSize: 14)
    /**
    时间与来源
    */
    private lazy var timeLabel: UILabel = UILabel(textColor: UIColor.orangeColor(), textSize: 10)
    private lazy var sourceLabel: UILabel = UILabel(textColor: UIColor.darkGrayColor(), textSize: 10)
    // 会员图标
    private lazy var memberView: UIImageView = UIImageView(image: UIImage(named: "common_icon_membership_expired"))
    // 认证的图标
    private lazy var verifiedView: UIImageView = UIImageView(image: UIImage(named: "avatar_vip"))
    /**
    内容的label
    */
   private lazy var contentLabel: UILabel = {
    
        let label = UILabel(textColor: UIColor.darkGrayColor(), textSize: 15)
        label.numberOfLines = 0
        
    return label
    }()

    /// 配图视图
    private lazy var statusPictureView: TFStatusPictureView = {
        let statusPictureView = TFStatusPictureView()
        statusPictureView.backgroundColor = UIColor(white: 0.97, alpha: 1.0)
        return statusPictureView
    }()

}
